我想知道在PHP中使用eval()来解析用户填写表单时输入的公式时应该检查哪些类型的内容。我看过很多关于eval()的答案,但似乎并非所有人都同意。这是我收集到的:不要对字符串使用eval(这可能是个问题,因为它是我需要解析的公式)去除来自表单的输入(我不完全确定我需要去除哪些东西)Eval可能是邪恶的,也可能不是邪恶的,并且存在安全风险(是否有其他方法可以解析字符串中的方程式?)你们认为我应该怎么做?编辑:我尝试了eval方法,虽然它确实有效,但我使用的环境卫生不支持两个以上的操作数。由于我真的不想编写自己的(可能不安全的)卫生正则表达式,所以我将查找并使用预先编写的数学类。感谢大家
我应该开发一个网站来完成一些关于书籍的自动完成数据。每个页面有大约1500个ajax请求到服务器!所以我决定使用Yii框架来完成它的主要部分,而不是使用ajax,而是使用NodeJS的Socket.IO来获得更快的响应。现在的问题是在两种编程语言之间同步session数据。使用memcached存储安全吗?我的意思是将SESSIONID保存为memcached中的键名,并使用JSON作为值。所以我可以通过PHP和NodeJS访问它。安全吗? 最佳答案 我不建议使用Memcached。缓存随时可能失效,您最终会丢失数据。我建议您使用R
我目前在我的一个项目中使用以下行:htmlspecialchars($value,ENT_QUOTES,'UTF-8');因此它编码&,',",。我的问题是(由于某些内部编码原因,我正在考虑)不编码&有任何安全风险吗?因此,如果使用以下行会产生安全风险/泄漏:$value=str_replace('&','&',$value);对于,',"我很清楚为什么要对它们进行编码,因为它们可以用于html注入(inject)。但是&我没有看到任何原因(我也没有发现任何特殊的原因到目前为止的原因)。编辑:因为多次提到数据库访问。我在那里使用带有参数的学说,...所以数据库应该(相对)从SQ
我想使用Lithium的“cookie”session适配器。用户登录后,我将使用他的散列密码创建一个cookie。如果此cookie存在并且散列密码与数据库中的密码匹配,我将自动让他登录。这样安全吗?好吧,我不是在谈论cookie中的实际哈希值,而是加密的哈希值。我不想让任何人知道那个散列的样子:)Lithium具有“策略”,可以使用“secret”加密您存储在session中的任何数据,因此哈希将被加密。基本上我是在问Lithium的加密是否足够好。有人用过Lithium吗? 最佳答案 这取决于您的哈希算法。使用盐使您的散列更安
我在我的变量上使用了mysql_real_escape_string(),但是通过查看我的日志我注意到来自某人的输入流具有如下条目:${@print(md5(acunetix_wvs_security_test))}1\"or(sleep(4)+1)limit1--等等。一个巨大的列表。他只是尝试而什么都没发生吗?还是我的代码仅使用mysql_real_escape_string()不安全?编辑:我看不到任何损坏,但站点上的大部分输入区域都已尝试过很多次。如果它一次不起作用,他会不会停止,意识到它是安全的? 最佳答案 这些条目来自A
我目前使用session让用户登录我的网站。现在,我想将cookie添加到组合中,以便人们可以在几天后访问该站点,而不必再次登录。我不想在cookie中存储密码或加密任何东西-所以我的解决方案是将用户名存储在cookie中,并创建另一个带有某种登录哈希(特定于每个用户的每次登录)的cookie。然后,在每个页面的顶部,检查cookie和登录session。如果cookie存在但session不存在,请找到用户名并让用户登录。因此,这将在他们成功登录后发生($row['username']是他们输入的用户名):$_SESSION['username']=$row[username];$_
其实我有一个关于代码清理的问题我试图在bladefile中获得一些值(value),我对两种方法感到困惑我认为两者都是正确的,但我需要知道谁的原因更干净、更安全在我的Blade中直接使用Eloquent的第一种方法@foreach(Auth::user()->company->country->citiesas$city){{$city->name}}@endforeach第二种使用注入(inject)服务的方法是在我的模型中创建此方法并使用laravel5.1注入(inject)服务在我的Blade中使用它publicfunctiongetCity(){foreach(Auth::u
我有一个登录保护的后台网站,用ASPclassic编写,在Windows上运行。登录状态存储在session变量中。我还有一个PHP页面,应该只有登录用户才能访问。如何在PHP中检查客户端是否已登录该网站?附言可能有多个用户同时访问该页面。 最佳答案 假设PHP和ASP应用程序共享相同的域名,这里有一个分步指南。1-创建一个名为sessionConnector.asp的asp文件。2-在sessionConnector.asp中,将Session.Contents对象序列化为PHP可以反序列化的格式,例如JSON。您可以使用aspj
在研究了几个小时关于保护存储数据的主题之后,我对现在最好的方法是什么感到有点困惑。我的(SSL)网站有一个数据库,我是唯一可以访问它的人(黑客不算在内)。登录数据存储在文档根目录之外的配置文件中。在数据库中,我有来自客户的姓名和地址之类的东西,我现在担心我需要实现密码学专家提出的所有安全措施,就像这个答案(HowdoyouEncryptandDecryptaPHPString?)或这里要求的(Storingsensitivedatasecurelyinadatabase).因为无论是在我的PDO/SQL和PHP研讨会上还是在stackoverflow上的常规帖子中,我都没有看到正在使用
我们必须用php开发一个特定的网页,到目前为止我们使用的是asp.net,问题是我们无法在php中采取典型的开发步骤。对于asp.net:设计界面(aspx/html)(使用可视化设计器)创建控件事件(按钮点击、组合选择等...)(例如双击x控件在代码隐藏中创建关联的点击事件)添加控件/业务逻辑(单击X按钮->使x控件可见/启用/更改其文本。智能感知或自动完成等,检测设计页面中存在的对象和控件)在php中,设计的页面和php代码之间似乎没有明确的关系(就像剥离asp.net中的所有智能感知并仅使用response.write()来进行视觉更改:S)经过一些搜索后,我们使用的模型是Web